<?php
/**
 * <https://y.st./>
 * Copyright © 2016 Alex Yst <mailto:copyright@y.st>
 * 
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program. If not, see <https://www.gnu.org./licenses/>.
**/

$xhtml = array(
	'title' => "$a[ADB] on Windows",
	'body' => <<<END
<p>
	Cyrus is leaving for Gresham tomorrow.
</p>
<p>
	I bought another used GT-i9100 today.
	This one&apos;s a bit more expensive than the last one, but hopefully it&apos;ll actually be what it&apos;s advertised to be.
	It&apos;s scheduled to arrive somewhere from August 24 to September 12.
	In the mean time though, my mothe rhas no Internet connection.
	I have three carrier-provided devices, but they&apos;re too locked down to allow tethering, unlike a Replicant device.
	I found an interesting application online though: <a href="https://code.google.com./archive/p/proxoid/">Proxiod</a>.
	It bypasses tethering restrictions by forwarding traffic instead of technically tethering it.
	It only works for $a[HTTP] traffic, but works in any Web browser that has $a[HTTP] proxy capabilities.
	It even automatically routes traffic through $a[Tor] because it obeys the $a[APN] $a[HTTP] proxy settings, which I have set to point traffic at Orbot&apos;s $a[HTTP] proxy port.
	Proxoid requires $[ADB] to use.
	I already had $a[ADB] installed on my machine, but I had to install it on mother&apos;s machine.
</p>
<p>
	$a[ADB] requires Java and my mother didn&apos;t have Java installed, so I went online on my machine to find a download of OpenJDK for my mother&apos;s Windows machine.
	Strangely, there isn&apos;t any official Windows build of OpenJDK! I tried using an <a href="https://github.com/ojdkbuild/ojdkbuild">unofficial build</a>, but that didn&apos;t work out well.
	The $a[ADB] installer kept failing.
	A copy of $a[ADB] extracted from a ZIP file wouldn&apos;t run.
	I needed a new solution.
	I kept looking for options for quite a while, but I eventually gave up and installed proprietary Java.
	My mother already installs proprietary software all the time and runs a proprietary operating system.
	Their computer is already a lost cause.
	That doesn&apos;t even touch the fact that my mother has in the past claimed that Java is one of the applications that is &quot;required for basic computer use&quot; and should always be installed on a new computer, so they would have installed it themself at some point as well.
</p>
<p>
	It turns out that the Windows Android $a[SDK] does not include $a[ADB].
	$a[ADB] must be installed using the $a[SDK] manager, but the $a[SDK] manager can&apos;t access the Internet to download $a[ADB] until <strong>*after*</strong> $a[ADB] is downloaded and installed, as $a[ADB] is necessary to connect to the Internet through Proxdroid and we have no other Internet access at our disposal.
	Thankfully, someone on $a[IRC] gave me a <a href="https://dl.google.com./android/repository/platform-tools_r24-windows.zip">direct $a[URI] for the download</a>.
	Why does Google have to complicate things by hiding the download link so that the only easy way to download things is through their silly $a[SDK] manager? To be clear, I&apos;m not arguing against the $a[SDK] manager&apos;s existence or use, I&apos;m just saying that there should be an obvious way to download things without it.
	For example, <a href="apt:aptitude">Aptitude</a> on Debian is a great package manager ad I use it all the time.
	However, if I were to go directly to the Debian website and look up a package, there&apos;s a download link for ever package on the page about that package.
	Likewise, F-Droid is great in most cases.
	However, when I for some reason can&apos;t connect to the Internet directly on my mobile, F-Droid includes basic Web links to their packages for download without their application manager.
	It doesn&apos;t even require much effort to set up, as all of these package and software managers use basic $a[HTTP] to retrieve packages anyway.
	The only change that Google would need to make is to show the download $a[URI] to the users on their website.
</p>
<p>
	Having finally gotten $a[ADB] running on my mother&apos;s machine, I of course hit another snag.
	It was inevitable, seeing as the blasted machine&apos;s running Windows.
	$a[ADB] doesn&apos;t recognize the device.
	I tried installing a driver that I found online, but that didn&apos;t help.
	I found the user manual online, and it suggested putting the device into a mode in which it&apos;ll send the required driver from the device, as a copy is stored there, to the desktop machine, but that driver didn&apos;t work either.
	I&apos;d love to try rebooting my mother&apos;s machine, but my mother always keeps no less than twenty tabs open in the Web browser along with about seven other applications running, so I can&apos;t reboot without causing my mother to lose all of their open work, which they may or may not actually need.
	I give up for tonight.
</p>
END
);
